Conception de BDD avec MySQL
Description
MySQL est un système de gestion de base de données relationnelle (SGBDR). En effet,
c’est aujourd’hui le SGBDR open-source le plus populaire au monde. Open source signifie
que le code source de MySQL est accessible à tous pour utilisation et/ou développement.
C’est un serveur SQL capable de stocker et de manipuler une quantité énorme et une grande
variété de données d'une manière qui répond aux besoins des petites et des grandes entreprises
avec un coût réduit pour le développement et l’administration.
Ce cours de formation en bases de données MySQL est conçu pour les participants
débutants et intermédiaires en conception de bases de données relationnelles avec SQL. En
effet, le langage SQL est un outil essentiel pour communiquer avec les bases de données
relationnelles, pour créer des applications multi-tiers et même pour générer des rapports
d'affaires pour consulter et analyser les données de l’entreprise. Par ailleurs, les principes
appris dans ce cours sont applicables à tous les systèmes de gestion de bases données
relationnelles à quelques différences près. Dans les cas où il existe des différences
significatives entre les bases de données, ces différences seront signalées.
Des notions avancées en bases de données relationnelles seront aussi présentées vers la fin
de cette formation, à savoir : la programmation procédurale avec SQL, la sauvegarde et la
reprise en cas de panne, la sécurité et les droits d’accès ainsi que la mise en place d’une
solution de haute disponibilité avec MySQL.
Objectifs
- Concevoir des bases de données relationnelles.
- Apprendre de langage de définition de données.
- Apprendre le langage de manipulation de données.
- Découvrir le langage SQL pour développeurs avec les procédures stockées et les déclencheurs.
- Administrer une base de données MySQL.
- Haute disponibilité avec MySQL.
Prérequis
Avoir des notions suffisantes en algorithmique et en programmation procédurale.
Initiation à la programmation.
Algorithmique pour débutants.
Instructeurs
Abdelhadi Lotfi
Abdelhadi Lotfi est un enseignant chercheur, programmeur, concepteur et administrateur de base de données. Il est maître de conférences à l'Institut National des Télécommunications et des TIC (INTTIC). Il a une longue expérience en développement (plus de 15 ans) et maîtrise plusieurs langages de programmation (Javascript, PHP, Java, …).
Expert en conception et administration de bases de données relationnelles, Abdelhadi passe une bonne partie de son temps développer des procédures stockées en MySQL, SQL Server et PostgreSQL. Pour le reste du temps de travail, il fait du développement Full-Stack.
Coté recherche scientifique, il est membre du laboratoire de recherche LaRATIC à l'institut INTTIC et il a plusieurs contributions scientifiques notamment dans l’optimisation des réseaux de neurones.
Introduction et installation MySQL
Procédure d’installation
Paramétrage de post-installation et premiers tests
Changement de versions et mise à jour
Rappel sur les BDD relationnelles
Notions de table, champ et enregistrement
Les clés primaires et étrangères
Relations entre les tables
Les formes normales
Les instructions SQL
Langage de définition de données
Langage de manipulation de données
Langage de contrôle de la BDD
Manipulation de données
Prise en main de l’outil client ligne de commande MySQL
Scripts clients et utilitaires
Outils graphiques
Types de tables
Types de données et fonctions MySQL
Création de bases, de tables et d’index
Les jointures
Gestion renforcée par les vues
La base de données INFORMATION_SCHEMA
Importation et exportation de données
Les requêtes de sélection avancées
Les champs calculés
Les fonctions agrégats
Les sous-requêtes
SQL procédural
Environnement client-serveur
Procédures stockées et fonctions
Instructions de control
Les curseurs
Transactions
Les déclencheurs (triggers)
Les différents types de déclencheurs
Programmer les contraintes d’intégrité
Répondre aux évènements par les déclencheurs
Surveillance des tables avec les déclencheurs
Connexions, droits d’accès et sécurité
Principe d’authentification et de vérification des droits
Structure des tables de la base « mysql » de gestion des droits
Sécurisation de la post-installation
Gestion des utilisateurs et de leurs privilèges
Gestion des privilèges et des mots de passe
Administration d’une base de données MySQL
Responsabilités de l’administrateur de BDD
Gestion des utilisateurs et droits d’accès
Importation/Exportation de données
Sauvegardes et reprise après pannes
Mise en place de la réplication avec MySQL
Les solutions de haute disponibilité
Réplication avec MySQL